package com.ruoyi.background.mapper;

import com.ruoyi.background.domain.AppLotteryRecord;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 积分抽奖记录Mapper接口
 *
 * @author susu
 * @date 2024-08-24
 */
public interface AppLotteryRecordMapper {
    /**
     * 查询积分抽奖记录
     *
     * @param id 积分抽奖记录主键
     * @return 积分抽奖记录
     */
    public AppLotteryRecord selectAppLotteryRecordById(Long id);

    /**
     * 查询积分抽奖记录列表
     *
     * @param appLotteryRecord 积分抽奖记录
     * @return 积分抽奖记录集合
     */
    public List<AppLotteryRecord> selectAppLotteryRecordList(AppLotteryRecord appLotteryRecord);

    /**
     * 某一轮的中奖数
     *
     * @param index 抽奖轮数
     * @return 结果
     */
    public Integer countWinNumLotteryByIndex(int index);

    /**
     * 统计中奖人数 排除必中的
     * @param index 抽奖轮数
     * @return 结果
     */
    public Integer countNumWithOutMustWin(int index);

    /**
     * 必中的额人数
     * @param index 抽奖轮数
     * @return 结果
     */
    public Integer countNumWithMustWim(int index);

    /**
     * 新增积分抽奖记录
     *
     * @param appLotteryRecord 积分抽奖记录
     * @return 结果
     */
    public int insertAppLotteryRecord(AppLotteryRecord appLotteryRecord);

    /**
     * 修改积分抽奖记录
     *
     * @param appLotteryRecord 积分抽奖记录
     * @return 结果
     */
    public int updateAppLotteryRecord(AppLotteryRecord appLotteryRecord);

    /**
     * 删除积分抽奖记录
     *
     * @param id 积分抽奖记录主键
     * @return 结果
     */
    public int deleteAppLotteryRecordById(Long id);

    /**
     * 批量删除积分抽奖记录
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAppLotteryRecordByIds(Long[] ids);


    public List<AppLotteryRecord> find171416Rows();


    public Integer countByUserIdAndIndex(@Param("userId") Long userId,@Param("index") Integer index);
}
